xentrace: fix tracing for 64bit guests
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 08:45:38 +0000 (09:45 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Jun 2008 08:45:38 +0000 (09:45 +0100)
commit591e88391250ccb38b3726f8ea6cdc89587e6d71
tree5ce52412e627c4a9955b4c20288f37b1a0995125
parent00093d732e00b6486650c7ad8c0ef4c01d31aa30
xentrace: fix tracing for 64bit guests

Xen tracing some times ago used to put values of type 'long' into the
trace buffer. This has changed to uint32_t. Some trace points log
virtual addresses, which get cropped to 32bit in this case. There were
some inline functions to handle at least PF_XEN and VMEXIT, which
caused a lot of code duplication. The attached patch fixes several
issues:
1. fix and extend tools/xentrace/formats
2. Fix xentrace_format to handle up to 7 parameters
3. create convenience macros to properly log long values
4. remove the inline functions in hvm/trace.h and replace them by macros
5. Change the CPUID trace to work correctly
6. group HVM trace points enable mechanism

I used a similar approach as in PV tracing with bit 8 indicating 64bit
pointers.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
tools/xentrace/formats
tools/xentrace/xentrace_format
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/arch/x86/trace.c
xen/include/asm-x86/hvm/trace.h
xen/include/public/trace.h